The present disclosure describes systems and techniques relating to input/output (I/O) command aggregation for Small Computer System Interface (SCSI) enabled devices.
A solid state disk (SSD) comprises an array of solid state electronic memory chips. A SSD generally includes two parts. A control unit and a storage unit (e.g., Dynamic Random-Access Memory (DRAM), FLASH memory, etc.). The storage unit is responsible for storing data, and the control unit is responsible for reading and writing data. SSD technology is high speed, durable and shockproof, noiseless, and lightweight. As a result, SSD drives are suited to widespread applications in fields such as the military, vehicle-based devices, industrial control, video monitoring, network monitoring, network terminals, electrical power, medical care, aviation, and navigational devices.
Small computer system interface (SCSI) is a system-level interface standard for physically connecting and transferring data between computers and peripheral devices (e.g., hard disk drives, solid state disk drives, floppy disk drives, optical disk drives, printers, scanners, etc.). The SCSI standard defines commands, protocols, and electrical and optical interfaces. Some characteristics associated with the SCSI standard include multi-tasking, large bandwidth, low CPU usage, and hot swapping. SCSI host adapters and peripheral devices (e.g., SSD devices) can employ an Advanced SCSI Programming Interface (ASPI) for communication between the host adapters and peripheral devices. ASPI is an application programming interface which standardizes communication on a computer bus between a SCSI host adapter and SCSI peripherals.
Serial Attached SCSI interface (SAS) is a newer generation SCSI technology. SAS is a point-to-point serial protocol that is used to move data to and from computer storage devices such as hard drives, SSD drives, tape drives, optical drives, and the like. SAS uses the standard SCSI command set.